static void gdk_offscreen_window_impl_iface_init (GdkWindowImplIface *iface);
static void gdk_offscreen_window_hide (GdkWindow *window);
-static void gdk_offscreen_window_clear_area (GdkWindow *window,
- gint x,
- gint y,
- gint width,
- gint height,
- gboolean send_expose);
-
G_DEFINE_TYPE_WITH_CODE (GdkOffscreenWindow,
gdk_offscreen_window,
}
}
-static void
-gdk_offscreen_window_clear_area (GdkWindow *window,
- gint x,
- gint y,
- gint width,
- gint height,
- gboolean send_expose)
-{
- GdkGC *gc;
-
- if (GDK_WINDOW_DESTROYED (window))
- return;
-
- /* Actual drawing is done by gdkwindow.c */
-
- gc = setup_backing_rect_gc (window, 0, 0);
- gdk_draw_rectangle (window, gc, TRUE, x, y, width, height);
- g_object_unref (gc);
-
- if (send_expose)
- {
- GdkRectangle visible, rect;
-
- visible.x = visible.y = 0;
- gdk_drawable_get_size (GDK_DRAWABLE (window), &visible.width, &visible.height);
-
- rect.x = x;
- rect.y = x;
- rect.width = width;
- rect.height = height;
-
- gdk_rectangle_intersect (&rect, &visible, &rect);
-
- gdk_window_invalidate_rect (window, &rect, TRUE);
- }
-}
-
static void
gdk_offscreen_window_set_background (GdkWindow *window,
const GdkColor *color)
iface->set_back_pixmap = gdk_offscreen_window_set_back_pixmap;
iface->get_events = gdk_offscreen_window_get_events;
iface->set_events = gdk_offscreen_window_set_events;
- iface->clear_area = gdk_offscreen_window_clear_area;
iface->reparent = gdk_offscreen_window_reparent;
iface->set_cursor = gdk_offscreen_window_set_cursor;
iface->get_geometry = gdk_offscreen_window_get_geometry;
{
if (private->redirect)
gdk_window_clear_backing_rect_redirect (window, x, y, width, height);
-
-
gdk_window_clear_backing_rect_direct (window, x, y, width, height);
if (send_expose)
return FALSE;
}
-static void
-gdk_window_x11_clear_area (GdkWindow *window,
- gint x,
- gint y,
- gint width,
- gint height,
- gboolean send_expose)
-{
- if (!GDK_WINDOW_DESTROYED (window))
- XClearArea (GDK_WINDOW_XDISPLAY (window), GDK_WINDOW_XID (window),
- x, y, width, height,
- send_expose);
-}
-
static void
gdk_window_x11_raise (GdkWindow *window)
{
iface->withdraw = gdk_window_x11_withdraw;
iface->set_events = gdk_window_x11_set_events;
iface->get_events = gdk_window_x11_get_events;
- iface->clear_area = gdk_window_x11_clear_area;
iface->raise = gdk_window_x11_raise;
iface->lower = gdk_window_x11_lower;
iface->move_resize = gdk_window_x11_move_resize;